<!DOCTYPE html>

<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
	<title>MyMine</title>
	
	<link rel="stylesheet" href="manual/manual.css" />
	<script src="jq/jquery-1.8.2.js" ></script>
	<script src="manual/manual.js" ></script>

</head>
<body>
<div id="author">kotemaru@kotemaru.org<br/>2012.12.13</div>

<h1>MyMine-0.9 マニュアル</h1>

<hr/>
<div><b>目次</b> <noscript>(JavaScriptを有効にして下さい)</noscript></div>
<div id="mokuji"></div>
<hr/>


<h2>はじめに</h2>

MyMine は Redmine のチケットを見やすく表示および管理するためのWebアプリです。
Redmine の REST 機能を使用する外部プラグインとして動作します。

<h3>動作環境</h3>

動作には Webサーバ と ブラウザ が必要になります。
<p/>
<table  class="LightTable">
<tr><td>Webサーバ  </td><td>Apache推奨。<br/>本体はHTMLコンテンツなのでサーバは選びません。</td></tr>
<tr><td>ブラウザ</td><td>Chrome推奨。<br/>HTML5対応のブラウザなら動くと思いますが未検証です。</td></tr>
</table>

<h3>ライセンス</h3>

ソースコードは Apache License, Version 2.0 に準拠します。<br>
<ul>
<li>Copyright 2012 kotemaru.org</li>
<li><a href="http://www.apache.org/licenses/LICENSE-2.0">
http://www.apache.org/licenses/LICENSE-2.0
</a></li>
</ul>

アイコンは其々の著作件者に依存します。<p/>
<table class="LightTable">
<tr>
	<th>アイコン</th>
	<th>著作者／ライセンス</th>
</tr>
<tr>
	<td>led24/*.png</td>
	<td>led24.de／<br/>http://creativecommons.org/licenses/by-sa/3.0/</td>
</tr>
<tr>
	<td>kmines.*</td>
	<td>Everaldo Coelho／LGPL</td>
</tr>
<tr>
	<td>dog.png</td>
	<td>Harmonia Pastelis／Freeware </td>
</tr>
<tr>
	<td>その他</td>
	<td>ソースコードに同じ </td>
</tr>
</table>



<h2>導入</h2>
<h3>Redmineと同じサーバへの導入</h3>

MyMine の導入は配布アーカイブ内の mymine/ ディレクトリをWebサーバのドキュメントルートにコピーするだけです。
<p/>
ドキュメントルートが「<code>/usr/local/www</code>」の場合のLinuxでの導入例。
<pre>
# unzip MyMine-0.9.zip
# cp -r MyMine-0.9/mymine /usr/local/www
</pre>
<p/>
ブラウザからアクセスできれば良いので展開場所やパスはサーバの都合により任意に変更可能です。


<h3>Redmineと異るサーバへの導入</h3>

Redmineをホストしているサーバが自身の管理化に無い場合は、別の
Webサーバに導入する事ができます。
<p/>
MyMine の導入は配布アーカイブ内の mymine/ ディレクトリをWebサーバのドキュメントルートにコピーするだけです。
<p/>
但し、MyMine と Redmine のサーバが異る場合はクロスサイトとなる為、MyMine
は直接 Redmine にアクセスできません。
したがって、MyMine を導入するWebサーバは Redmine 
のサーバへのリバースプロキシとして動作する必要が有ります。

<h4>リバースプロキシの設定例</h4>

Apacheを使用したプロキシサーバの設定例を示します。
<p/>
Apacheのインストールは省略します。<br/>
httpd.conf に以下の設定を追加します。<br/>
「<code>https://www.redmine.org/</code>」がRedmineのURLです。
目的のURLに読み替えて下さい。
<pre>
LoadModule proxy_module  libexec/apache22/mod_proxy.so
LoadModule proxy_connect_module  libexec/apache22/mod_proxy_connect.so
LoadModule proxy_http_module  libexec/apache22/mod_proxy_http.so

SSLProxyEngine On
ProxyPass        /redmine https://www.redmine.org/
ProxyPassReverse /redmine https://www.redmine.org/
</pre>
<p/>

この例の場合、MyMine の環境設定で
<ul>
<li>「Redmineのパス」に 「<code>/redmine</code>」 を</li>
<li>「Redmineの絶対パス」に 「<code>https://www.redmine.org/</code>」 を</li>
</ul>
設定します。


<h3>環境設定</h3>


1. ブラウザでMyMineのページを表示します。<br/>
2. 画面右上の <img src="img/led24/cog.png"/> をクリックし環境設定ダイアログを表示します。<br/>
<p><img border=1 src="manual/config-1.png" /></p>
3. 画面の説明にしたがって項目を設定します。(オプション)となっている項目は任意です。
<p><img border=1 src="manual/config-2.png" /></p>
4.「保存」ボタンをクリックします。(画面最下部に有ります。)
<p><img border=1 src="manual/config-3.png" /></p>

<a name="apikey"/>
<h4>APIアクセスキー</h4>

環境設定のAPIアクセスキーは Redmine がユーザを特定する為の物で
 Redmine の個人設定画面からから取得できます。
<br/>
オプションになっていますが Redmin
側でログイン必須の設定になっている場合は必ず必要です。

<p><img border=1 src="manual/help-apikey.png" /></p>


<h2>機能</h2>
<h3>チケットの取得</h3>

Redmine からチケットを取得して表示するには以下の操作をします。

<ol>
<li><img src="img/led24/inbox.png"/>受信箱 をクリックします。</li>
<li><img src="img/led24/arrow_refresh.png"/> をクリックします。</li>
</ol>

<p><img border=1 src="manual/inbox-1.png" /></p>

ページの表示直後には既にこの状態になっています。

<h4>フィルタ条件</h4>

取得するチケットを制限するにはフィルタ条件を指定してからチケットを取得します。

<p><img border=1 src="manual/inbox-2.png" /></p>

<ul>
<li>上段のセレクタはプロジェクトを選択します。</li>
<li><img src="img/kmines-16x16.png" /> は自分が担当になっているチケットのみとします。
    APIアクセスキーが設定されていない場合、機能しません。</li>
<li><img src="img/closed-ticket.png" /> は終了チケットを含めます。
    デフォルトでは終了チケットは含みません。</li>
<li><img src="img/led24/user_silhouette.png" /> は選択した担当者のチケットのみとします。<sup>(*1)</sup></li>
<li><img src="img/led24/user.png" /> は選択した作成者のチケットのみとします。<sup>(*1)</sup></li>
<li><img src="img/dog.png" /> は選択したトラッカーのチケットのみとします。<sup>(*1)</sup></li>
<li><img src="img/progress.png" /> は選択したステータスのチケットのみとします。<sup>(*1)</sup></li>
<li><img src="img/priority.png" /> は選択した優先度のチケットのみとします。<sup>(*1)</sup></li>
</ul>

<p><sup>(*1)</sup>
Redmineの現在のREST機能ではこれらの選択項目の一覧が予め取得できない為
取得済みチケットから合成しています。
したがって全ての選択項目が選べる訳では有りません。
</p>

<h4>ソート条件</h4>

取得するチケットの順番はソート条件を指定してからチケットを取得します。
ソート条件はチケット一覧のヘッダをクリックする事により指定できます。
同じヘッダをクリックすると昇順／降順が入れ替わります。
<p/>
初期状態では更新日の降順となります。

<p><img border=1 src="manual/sort-1.png" /></p>

ソート条件の指定された項目には 昇順=△／降順=▽ のマークが付きます。

<p><img border=1 src="manual/sort-2.png" /></p>

<a name="customfilter"/>
<h4>カスタムフィルタ</h4>

カスタムフィルタは Redmine の REST 機能が提供する任意のクエリをユーザが定義して使用できます。
<br/>定義の仕方：
<ol>
<li>画面右上の <img src="img/led24/cog.png"/> をクリックし環境設定ダイアログを表示します。</li>
<li>カスタムフィルタの項目のアイコンとタイトル、クエリパラメータを設定します。</li>
<li>「保存」ボタンをクリックします。(画面最下部に有ります。)</li>
</ol>

<p><img border=1 src="manual/help-customfilter-2.png" /></p>

<blockquote>
参考：RedmineのカスタムクエリのIDは Redmine でカスタムクエリを表示した時のURLから分かります。
<p><img border=1 src="manual/help-custom-query.png" /></p>
</blockquote>

<p/>
フィルタ条件にアイコンが追加されます。

<p><img border=1 src="manual/help-customfilter-3.png" /></p>



<p><sup>※</sup>
カスタムフィルタと他のフィルタ条件、ソート条件を併用する事はできません。
</p>

<h3>チケットの表示</h3>

<h4>詳細情報画面への遷移</h4>

チケットの詳細を表示するにはチケットをダブルクリックします。
別のタブで Redmine のチケット画面が開かれます。

<p><img border=1 src="manual/detail-1.png" /></p>
<div align="center">↓</div>
<p><img border=1 src="manual/detail-2.png" /></p>

<h4>項目の幅の調整</h4>

チケット一覧の各項目の幅はヘッダの境界線をドラッグする事により変更できます。
最小幅は4pxで0にすることはできません。

<p><img border=1 src="manual/view-column-1.png" /></p>

「担当者」の項目を縮める例です。

<p><img border=1 src="manual/view-column-2.png" /></p>
<div align="center">↓</div>
<p><img border=1 src="manual/view-column-3.png" /></p>

<h4>項目順の入れ換え</h4>

チケット一覧の各項目の順番はヘッダをドラッグする事により変更できます。

<p><img border=1 src="manual/view-column-4.png" /></p>

「担当者」と「優先度」の順番を入れ換える例です。

<p><img border=1 src="manual/view-column-5.png" /></p>
<div align="center">↓</div>
<p><img border=1 src="manual/view-column-6.png" /></p>


<h3>フォルダ</h3>

フォルダは Redmine のチケットのコピーを格納します。
格納したチケットはブラウザのlocalStrageに保存されるためサーバ側のデータに影響はありません。

<h4>チケットの移動</h4>

<p/>
フォルダにチケットを移動するにはチケットをフォルダにドラッグ＆ドロップします。
CTRL+クリック で複数のチケットを選択してから移動すると一度に移動できます。

<p><img border=1 src="manual/folder-1.png" /></p>

ドロップのフォルダが選択されフォルダ内のチケットが表示されます。
フォルダに表示される数字は (未読チケット数/チケット数) です。
<div>(<sup>※</sup>チケットをダブルクリックして詳細画面を表示すると既読になります)</div>

<p><img border=1 src="manual/folder-2.png" /></p>

チケットは常に移動になります。
移動元のフォルダからはチケットは削除されます。

<h4>チケットの最新化</h4>

フォルダ内のチケット情報はサーバのチケットのコピーのためチケットが編集されると差異が発生します。
フォルダ内のチケットの情報を最新化するには以下の操作をします。

<ol>
<li>更新したい フォルダ をクリックして選択します。</li>
<li><img src="img/led24/arrow_refresh.png"/> をクリックします。</li>
</ol>
<p><img border=1 src="manual/folder-4.png" /></p>

全てのフォルダを最新化したい場合は
Shift+<img src="img/led24/arrow_refresh.png"/>
をクリックします。


<h4>フォルダの追加/削除/編集</h4>

フォルダの操作はフォルダのヘッダにあるボタンを使用して行います。

<p><img border=1 src="manual/folder-3.png" /></p>


<table border=1 cellspacing=0>
	<tr>
		<th>ボタン</td>
		<th>説明</td>
	</tr>
	<tr>
		<td><img src="img/led24/add.png"/></td>
		<td>フォルダの追加。フォルダ編集用のダイアログが表示されます。<br/>
			フォルダID、アイコン、表示名を設定して「追加」をクリックしてください。
		</td>
	</tr>
	<tr>
		<td><img src="img/led24/cross.png"/></td>
		<td>選択中のフォルダの削除。確認ダイアログが表示されます。<br/>
			削除してよければ「はい」をクリックしてください。
		</td>
	</tr>
	<tr>
		<td><img src="img/led24/pencil.png"/></td>
		<td>選択中のフォルダの編集。フォルダ編集用のダイアログが表示されます。<br/>
			アイコン、表示名を変更して「保存」をクリックしてください。
		</td>
	</tr>
</table>
<p/>

フォルダ編集ダイアログ：
<div><img border=1 src="manual/folder-dialog-1.png" /></div>
<p/>
フォルダ削除確認ダイアログ：
<div><img border=1 src="manual/folder-dialog-2.png" /></div>

<h4>システムフォルダ</h4>

以下はシステムで使用する特殊なフォルダです。
<p/>
<table border=1 cellspacing=0>
	<tr>
		<th width="100px">フォルダ</td>
		<th>説明</td>
	</tr>
	<tr>
		<td><img src="img/led24/inbox.png"/>受信箱</td>
		<td>Redmineから取得したチケットを一時的に格納するフォルダです。</td>
	</tr>
	<tr>
		<td><img src="img/led24/bin_closed.png"/>ゴミ箱</td>
		<td>廃棄チケット用です。ページがリロードされるとチケットは無くなります。</td>
	</tr>
</table>


<h3>検索</h3>

現在の所、Redmine の REST に検索機能が未実装の為、使用できません。
数値のみを入力した場合にチケット番号として検索する機能のみが提供されています。

<h3>データのエクスポートとインポート</h3>

MyMine のフォルダ情報、環境設定は全てブラウザのlocalStrageに保存されます。
バックアップおよび他のPCへのデータ移行の為にエクスポートとインポートの機能を提供します。

<h4>データのエクスポート</h4>

1. <img src="img/led24/page_white_put.png" /> ボタンをクリックします。

<p><img border=1 src="manual/export-1.png" /></p>

2. ダイアログのリンクを右クリックして別名で保存して下さい。

<p><img border=1 src="manual/export-2.png" /></p>

保存データの形式はJSON形式です。

<h4>データのインポート</h4>
1. <img src="img/led24/page_white_get.png" /> ボタンをクリックします。

<p><img border=1 src="manual/import-1.png" /></p>

2. ダイアログの「ファイルを選択」をクリックしてエクスポートしたデータを選択してください。

<p><img border=1 src="manual/import-2.png" /></p>

<sup>※</sup>インポートすると古いデータは全て削除されます。




<hr/>
以上
</body>
</html>
